﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SanFranciscoModel.Alumno;
using SanFranciscoModel.Docente;
using SanFranciscoModel.Familiar;

namespace SanFrancisco
{
    public partial class BajaGeneral : Form
    {
        private int _Tipo;
        private string _Texto;
        private SearchTipo _searchTipo;
        private string _DNI = "-1";


        public BajaGeneral(int Tipo, string Texto, SearchTipo searchTipo)
        {
            _Tipo = Tipo;
            _Texto = Texto;
            _searchTipo = searchTipo;
            InitializeComponent();
        }

        public BajaGeneral(int Tipo, string Texto, SearchTipo searchTipo,string DNI)
        {
            _Tipo = Tipo;
            _Texto = Texto;
            _searchTipo = searchTipo;
            _DNI = DNI;
            InitializeComponent();
        }

        private void BajaGeneral_Load(object sender, EventArgs e)
        {
            lblexto.Text = _Texto;
            if (_DNI != "-1")
            {
                txtDNI.Text = _DNI;
            }
        }


        private void btnAceptar_Click_1(object sender, EventArgs e)
        {
            if (txtDNI.Text.Equals(""))
            {
                MessageBox.Show("Por favor ingrese algun valor!");
            }
            else
            {

                switch (_Tipo)
                {
                    case 1:
                        {
                            AlumnoManager AlumnoManager = new AlumnoManager();

                            if (AlumnoManager.ExisteAlumno(int.Parse(txtDNI.Text)))
                            {
                                AlumnoManager.EliminarAlumno(int.Parse(txtDNI.Text));
                                lblInfo.Text = "El alumno con DNI " + txtDNI.Text + " fue dado de baja";
                                txtDNI.Text = string.Empty;
                            }
                            else
                            {
                                MessageBox.Show("El DNI Alumno no existe en el sistema, por favor ingrese uno nuevo!");
                            }
                        }
                        break;
                    case 2:
                        {
                            DocenteManager DocenteManager = new DocenteManager();

                            if (DocenteManager.ExisteDocente(int.Parse(txtDNI.Text)))
                            {
                                DocenteManager.EliminarDocente(int.Parse(txtDNI.Text));
                                lblInfo.Text = "El docente con DNI " + txtDNI.Text + " fue dado de baja";
                                txtDNI.Text = string.Empty;
                            }
                            else
                            {
                                MessageBox.Show("El DNI Docente no existe en el sistema, por favor ingrese uno nuevo!");
                            }
                        }
                        break;
                    case 3:
                        {
                            FamiliarManager FamiliarManager = new FamiliarManager();

                            if (FamiliarManager.ExisteFamiliarSimple(int.Parse(txtDNI.Text)))
                            {
                                FamiliarManager.EliminarFamiliar(int.Parse(txtDNI.Text));
                                FamiliarManager.EliminarFamiliarXAlumno(int.Parse(txtDNI.Text));
                                lblInfo.Text = "El Familiar con DNI " + txtDNI.Text + " fue dado de baja";
                                txtDNI.Text = string.Empty;
                            }
                            else
                            {
                                MessageBox.Show("El DNI Familiar no existe en el sistema, por favor ingrese uno nuevo!");
                            }
                        }
                        break;
                }
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txtDNI_TextChanged(object sender, EventArgs e)
        {
            Utils.SoloNumeros(sender, e);
        }

        private void txtDNI_KeyPress(object sender, KeyPressEventArgs e)
        {
            Utils.SoloNumeros(sender, e);
        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            switch (_searchTipo)
            {
                case SearchTipo.Alumno:
                    {
                        SearchAlumno a = new SearchAlumno(_Tipo, _Texto, _searchTipo,1);
                        this.Hide();
                        a.ShowDialog();
                        this.Close();
                    }
                    break;
                case SearchTipo.Docente:
                    {
                        SearchDocente a = new SearchDocente(_Tipo, _Texto, _searchTipo,1);
                        this.Hide();
                        a.ShowDialog();
                        this.Close();
                    }
                    break;
                case SearchTipo.Familiar:
                    {
                        SearchFamiliar a = new SearchFamiliar(_Tipo, _Texto, _searchTipo,1);
                        this.Hide();
                        a.ShowDialog();
                        this.Close();
                    }
                    break;
            }
            
        }
    }
}
